react-auto-bind
Automatically bind methods to their class instance. This is optimized for react. It doesn't bind render and other lifecycle methods.
Install
$ npm install --save react-auto-bind
Usage
const autoBind = require('react-auto-bind');
class Unicorn {
constructor(name) {
this.name = name;
autoBind(this);
}
message() {
return `${this.name} is awesome!`;
}
}
const unicorn = new Unicorn('Rainbow');
const message = unicorn.message;
message();
message();
Bind only some methods
const autoBind = require('react-auto-bind');
class Griffin {
constructor(name) {
this.name = name;
autoBind(this, 'amaze');
}
amaze() {
return `${this.name} is amazing!`;
}
message() {
return `${this.name} is undefined!`;
}
}
const buckbeak = new Griffin('Buckbeak');
const message = buckbeak.message;
const amaze = buckbeak.amaze;
amaze();
message();
API
autoBind(self, [...bindOnly])
Bind methods in self
to their class instance. Returns the self
object.
self
Type: Object
Object with methods to bind.
bindOnly
Type: Strings
If more than one parameters are passed then only those methods are bound.
Related
- bind-methods - Bind all methods in an object to itself or a specified context
- auto-bind - Automatically bind all methods to their class instance.